package net.anumbrella.seaweedfs.core.topology;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author Administrator
 * {
 * 	"Topology": {
 * 		"DataCenters": [{
 * 			"Free": 358,
 * 			"Id": "imagecollect",
 * 			"Max": 365,
 * 			"Racks": [{
 * 				"DataNodes": [{
 * 					"EcShards": 0,
 * 					"Free": 358,
 * 					"Max": 365,
 * 					"PublicUrl": "192.168.10.161:7080",
 * 					"Url": "192.168.10.161:7080",
 * 					"VolumeIds": "1-7",
 * 					"Volumes": 7
 *                                }],
 * 				"Free": 358,
 * 				"Id": "DefaultRack",
 * 				"Max": 365            * 			}        ]
 * 		}],
 * 		"Free": 358,
 * 		"Layouts": [{
 * 			"collection": "",
 * 			"replication": "000",
 * 			"ttl": "",
 * 			"writables": [1, 2, 3, 4, 5        , 7]
 * 		}],
 * 		"Ma    : 365
 * 	},
 * 	"Version": "30GB 2.07 4492122"
 * }
 */
@Data
public class SystemTopologyStatus implements Serializable {
    private int max;
    private int free;
    private String version;
    private List<DataCenter> dataCenters;
    private List<Layout> layouts;

    public SystemTopologyStatus() {
    }

    public SystemTopologyStatus(int max, int free, List<DataCenter> dataCenters, List<Layout> layouts) {
        this.max = max;
        this.free = free;
        this.dataCenters = dataCenters;
        this.layouts = layouts;
    }

}
